home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AmigActive 10
/
AACD 10.iso
/
AACD
/
Games
/
MAME
/
src
/
sndhrdw
/
mario.c
< prev
next >
Wrap
C/C++ Source or Header
|
2000-04-04
|
1KB
|
64 lines
#include "driver.h"
#include "cpu/i8039/i8039.h"
WRITE_HANDLER( mario_sh_w )
{
if (data)
cpu_set_irq_line(1,0,ASSERT_LINE);
else
cpu_set_irq_line(1,0,CLEAR_LINE);
}
/* Mario running sample */
WRITE_HANDLER( mario_sh1_w )
{
static int last;
if (last!= data)
{
last = data;
if (data && sample_playing(0) == 0) sample_start (0, 3, 0);
}
}
/* Luigi running sample */
WRITE_HANDLER( mario_sh2_w )
{
static int last;
if (last!= data)
{
last = data;
if (data && sample_playing(1) == 0) sample_start (1, 4, 0);
}
}
/* Misc samples */
WRITE_HANDLER( mario_sh3_w )
{
static int state[8];
/* Don't trigger the sample if it's still playing */
if (state[offset] == data) return;
state[offset] = data;
if (data)
{
switch (offset)
{
case 2: /* ice */
sample_start (2, 0, 0);
break;
case 6: /* coin */
sample_start (2, 1, 0);
break;
case 7: /* skid */
sample_start (2, 2, 0);
break;
}
}
}